xenpaging: allow negative num_pages and limit num_pages
authorKeir Fraser <keir@xen.org>
Fri, 26 Nov 2010 14:20:39 +0000 (14:20 +0000)
committerKeir Fraser <keir@xen.org>
Fri, 26 Nov 2010 14:20:39 +0000 (14:20 +0000)
Simplify paging size argument. If a negative number is specified, it
means the entire guest memory should be paged out. This is useful for
debugging. Also limit num_pages to the guests max_pages.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
tools/xenpaging/xenpaging.c

index dd346db9a6e4e472d69a79c135967bb6083457d4..0a2fe2cf7c17cfacacc9365918d2bed6c7f3e323 100644 (file)
@@ -521,8 +521,6 @@ int main(int argc, char *argv[])
     domain_id = atoi(argv[1]);
     num_pages = atoi(argv[2]);
 
-    victims = calloc(num_pages, sizeof(xenpaging_victim_t));
-
     /* Seed random-number generator */
     srand(time(NULL));
 
@@ -543,6 +541,13 @@ int main(int argc, char *argv[])
         return 2;
     }
 
+    if ( num_pages < 0 || num_pages > paging->domain_info->max_pages )
+    {
+        num_pages = paging->domain_info->max_pages;
+        DPRINTF("setting num_pages to %d\n", num_pages);
+    }
+    victims = calloc(num_pages, sizeof(xenpaging_victim_t));
+
     /* ensure that if we get a signal, we'll do cleanup, then exit */
     act.sa_handler = close_handler;
     act.sa_flags = 0;